package com.jswlw.service.base;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.List;
import java.util.Map;

/**
 * Created by wu on 2017/7/31.
 */
public interface BaseService<T> {

    Logger logger = LoggerFactory.getLogger(BaseService.class);


    /**
     * 查询全部数据
     *
     * @return
     */
    List<T> findAll(Map condition);

    /**
     * 根据ID查询单条记录
     *
     * @param id
     * @return
     */
    T findOne(Integer id);

    /**
     * 插入数据
     *
     * @param t
     * @return
     */
    int insert(T t);

    /**
     * 更新数据
     *
     * @param t
     * @return
     */
    int update(T t);

    /**
     * 根据ID删除数据
     *
     * @param id
     * @return
     */
    int delete(Integer id);

    /**
     * 统计条数
     *
     * @param map
     * @return
     */
    int findCount(Map map);

    /**
     * 分页查询
     *
     * @param map
     * @return
     */
    List<T> searchPage(Map map);

}
